Writing JML Specifications Using Java 8 Streams
نویسندگان
چکیده
1998 CR Categories: D.1.5 [Programming Techniques] Applicative (Functional) Programming; D.2.1 [Software Engineering] Requirements/Specificationslanguages; D.2.4 [Software Engineering] Software/Program Verificationclass invariants, formal methods, programming by contract; D.3.3 [Software Engineering] Language Constructs and Featuresclasses and objects, frameworks; F.3.1 [Logics and Meanings of Programs] Specifying and Verifying and Reasoning about Programsassertions, invariants, preand post-conditions, specification techniques.
منابع مشابه
JMLAutoTest: A Novel Automated Testing Framework Based on JML and JUnit
Writing specifications using Java Modeling Language has been accepted for a long time as a practical approach to increasing the correctness and quality of Java programs. However, the current JML testing system (the JML and JUnit framework) can only generate skeletons of test fixture and test case class. Writing codes for generating test cases, especially those with a complicated data structure ...
متن کاملA Simple and Practical Approach to Unit Testing: The JML and JUnit Way
Writing unit test code is labor-intensive, hence it is often not done as an integral part of programming. However, unit testing is a practical approach to increasing the correctness and quality of software; for example, the Extreme Programming approach relies on frequent unit testing. In this paper we present a new approach that makes writing unit tests easier. It uses a formal specification la...
متن کاملTesting Library Specifications by Verifying Conformance Tests
Formal specifications of standard libraries are necessary when statically verifying software that uses those libraries. Library specifications must be both correct, accurately reflecting library behavior, and useful, describing library behavior in sufficient detail to allow static verification of client programs. Specification and verification researchers regularly face the question of whether ...
متن کاملThe JML and JUnit Way of Unit Testing and its Implementation
Writing unit test code is labor-intensive, hence it is often not done as an integral part of programming. However, unit testing is a practical approach to increasing the correctness and quality of software; for example, Extreme Programming relies on frequent unit testing. In this paper we present a new approach that makes writing unit tests easier. It uses a formal specification language’s runt...
متن کاملReasoning About Method Calls in JML Specifications
The Java Modeling Language, JML, is an interface specification language that uses side-effect free Java expressions to describe program behavior. In particular, JML specifications can contain calls to side-effect free methods. To verify programs w.r.t. JML specifications, JML expressions have to be encoded in a program logic. This encoding is non-trivial for method calls. In this paper, we illu...
متن کامل